Team Topologies
Matthew SkeltonとManuel Paisによる、チーム設計とソフトウェアアーキテクチャを統合的に扱う手法。認知負荷をチーム設計の中心的な制約として扱う。
4つの基本チームタイプ
- Stream-aligned team: ビジネス価値の流れに沿ったチーム
- Platform team: 他チームが利用する基盤を提供
- Enabling team: 専門知識で他チームを支援
- Complicated subsystem team: 高度な専門性が必要な領域を担当
3つのインタラクションモード
- Collaboration: 協働して問題解決
- X-as-a-Service: サービスとして提供
- Facilitating: 学習と採用を支援
認知負荷との関係
チームが認知的に扱える範囲を超えるシステムは、適切な境界で分割されるべき。これはアーキテクチャ設計にも影響する。
インタラクションモードと較正ループ
3つのインタラクションモードは「どこまで認知的距離の較正コストを双方が負担するか」の設計として再解釈できる。
- Collaboration = 較正ループを高頻度で回す。認知的距離の調整コストを双方が負担
- X-as-a-Service = 較正ループを回さない前提。共有プロトコルで処理
- Facilitating = 一時的に較正ループを回して、相手の自律的な較正能力を育てる(発達の最近接領域の支援)
関連
- 認知負荷
- 認知的距離 - インタラクションモードの設計変数
- 較正ループ - モードごとの較正頻度の違い
- Domain-Driven Design
- アーキテクチャ